#ifndef __CONFIGURATION__HH__
#define __CONFIGURATION__HH__

#include <map>
#include <set>
#include <string>
#include <vector>
#include <unordered_set>
using std::string;
using std::map;
using std::set;
using std::vector;
using std::unordered_set;


class Configuration
{
public:
    static Configuration* createConfig();
    static void destoryConfig();
    map<string, vector<string>>& getConfigMap(){return _config;}
    unordered_set<string>& getStopEn(){return _stopWordEn;}
    unordered_set<string>& getStopZh(){return _stopWordZh;} 

private:
    Configuration(const string &conf_path = "conf/conf.json");

private:
    map<string, vector<string>> _config;    
    unordered_set<string> _stopWordEn;  // 英文停用词
    unordered_set<string> _stopWordZh;  // 中文停用词
    static Configuration* _instance;
};

#endif